Описание
Задает или возвращает в секундах интервал ожидания, после
которого возникает ошибка превышения времени ожидания при выполнении запроса к
источнику данных ODBC.
Значение
Задаваемое или возвращаемое значение является выражением типа
Integer, которое представляет интервал ожидания в секундах. Значением по
умолчанию является 60.
Замечания
В процессе работы с базой данных ODBC, такой как
Microsoft SQL Server, могут возникнуть задержки из-за сильной нагрузки на
сеть или интенсивного использования сервера ODBC. Вместо бесконечного
ожидания можно указать конечный интервал ожидания.
При использовании свойства
QueryTimeout с объектом Connection или Database задает
глобальное значение времени ожидания для всех запросов конкретной базы данных.
Пользователь имеет возможность указать для конкретного запроса другое значение с
помощью свойства ODBCTimeout соответствующего объекта
QueryDef.
Для того чтобы указать в рабочей области Microsoft
Jet значение, отличное от значения по умолчанию, следует создать новую
запись «ODBC» на пути реестра
\HKEY_LOCAL_MACHINE\SOFTWARE\Jet\3.5\, создать параметр
QueryTimeout и задать для него нужное значение.
Пример
Следующая программа использует свойства ODBCTimeout и
QueryTimeout, чтобы показать, как значение свойства QueryTimeout
объекта Database задает значение по умолчанию свойства ODBCTimeout
для любых объектов QueryDef, созданных в объекте Database.
Sub ODBCTimeoutX()
Dim dbsCurrent As Database
Dim qdfStores As QueryDef
Dim rstStores As Recordset
Set dbsCurrent = OpenDatabase("Борей.mdb")
' Изменяет стандартное значение свойства QueryTimeout
' в базе данных "Борей".
Debug.Print "Стандартное значение QueryTimeout в " & dbsCurrent.QueryTimeout
dbsCurrent.QueryTimeout = 30
Debug.Print "Новое значение QueryTimeout в " & dbsCurrent.QueryTimeout
' Создает новый объект QueryDef.
Set qdfStores = dbsCurrent.CreateQueryDef("Товары", "SELECT * FROM Товары")
qdfStores.Connect = "ODBC;DATABASE=pubs;UID=sa;PWD=;DSN=Publishers"
' Изменяет полученное по умолчанию значение свойства
' ODBCTimeout нового объекта QueryDef.
Debug.Print "Стандартное значение ODBCTimeout для QueryDef: " & qdfStores.ODBCTimeout
qdfStores.ODBCTimeout = 0
Debug.Print "Новое значение ODBCTimeout для: " & qdfStores.ODBCTimeout
' Выполняет запрос и отображает результаты.
Set rstStores = qdfStores.OpenRecordset()
Debug.Print "Содержимое набора записей:"
With rstStores
Do While Not .EOF
Debug.Print , .Fields(0), .Fields(1)
.MoveNext
Loop
.Close
End With
' Удаляет новый объект QueryDef, созданный для демонстрации.
dbsCurrent.QueryDefs.Delete qdfStores.Name
dbsCurrent.Close
End Sub